package com.canaan.business.domain.basic;

import java.math.BigDecimal;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.canaan.common.annotation.Excel;
import com.canaan.common.core.domain.BaseEntity;
import com.canaan.common.annotation.TableName;
/**
 * ERP物料主数据对象 wms_erp_product
 *
 * @author canaan
 * @date 2025-03-23
 */
@ApiModel(description = "wms_product")
@TableName("wms_product")
public class ErpProduct extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("${comment}")
    private Long id;

    /** 编号 */
    @Excel(name = "编号")
    @ApiModelProperty("编号")
    private String no;

    /** 物料编号 */
    @Excel(name = "物料编号")
    @ApiModelProperty("物料编号")
    private String productNo;

    /** 物料编号 */
    @Excel(name = "物料编号")
    @ApiModelProperty("物料编号")
    private String barCode;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String productName;

    /** 物料类型 */
    @Excel(name = "物料类型")
    @ApiModelProperty("物料类型")
    private String productType;

    /** 所属大类 */
    @Excel(name = "所属大类")
    @ApiModelProperty("所属大类")
    private String largeCategoryName;

    /** 所属中类 */
    @Excel(name = "所属中类")
    @ApiModelProperty("所属中类")
    private String midCategoryName;

    /** 所属小类 */
    @Excel(name = "所属小类")
    @ApiModelProperty("所属小类")
    private String smallCategoryName;

    /** 品牌名称 */
    @Excel(name = "品牌名称")
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 用料单位 */
    @Excel(name = "用料单位")
    @ApiModelProperty("用料单位")
    private String ylUnitName;

    /** 配货单位 */
    @Excel(name = "配货单位")
    @ApiModelProperty("配货单位")
    private String psUnitName;

    /** 配货/最小规格单位换算 */
    @Excel(name = "配货/最小规格单位换算")
    @ApiModelProperty("配货/最小规格单位换算")
    private String ylPsConver;

    /** 采购单位 */
    @Excel(name = "采购单位")
    @ApiModelProperty("采购单位")
    private String cgUnitName;

    /** 采购单位/配货单位换算 */
    @Excel(name = "采购单位/配货单位换算")
    @ApiModelProperty("采购单位/配货单位换算")
    private String cgPsConver;

    /** 最小规格单位 */
    @Excel(name = "最小规格单位")
    @ApiModelProperty("最小规格单位")
    private String specUnitName;

    /** 最小规格单位/用料单位换算 */
    @Excel(name = "最小规格单位/用料单位换算")
    @ApiModelProperty("最小规格单位/用料单位换算")
    private String spcYlConver;

    /** 长-采购单位包装 */
    @Excel(name = "长-采购单位包装")
    @ApiModelProperty("长-采购单位包装")
    private BigDecimal purchaseLength;

    /** 宽-采购单位包装 */
    @Excel(name = "宽-采购单位包装")
    @ApiModelProperty("宽-采购单位包装")
    private BigDecimal purchaseWidth;

    /** 高-采购单位包装 */
    @Excel(name = "高-采购单位包装")
    @ApiModelProperty("高-采购单位包装")
    private BigDecimal purchaseHeight;

    /** 体积-采购单位包装 */
    @Excel(name = "体积-采购单位包装")
    @ApiModelProperty("体积-采购单位包装")
    private BigDecimal purchaseVolume;

    /** 毛重-采购单位包装 */
    @Excel(name = "毛重-采购单位包装")
    @ApiModelProperty("毛重-采购单位包装")
    private BigDecimal purchaseGrossWeight;

    /** 宽-配货单位包装 */
    @Excel(name = "宽-配货单位包装")
    @ApiModelProperty("宽-配货单位包装")
    private BigDecimal deliveryWidth;

    /** 长-配货单位包装 */
    @Excel(name = "长-配货单位包装")
    @ApiModelProperty("长-配货单位包装")
    private BigDecimal deliveryLength;

    /** 高-配货单位包装 */
    @Excel(name = "高-配货单位包装")
    @ApiModelProperty("高-配货单位包装")
    private BigDecimal deliveryHeight;

    /** 体积-配货单位包装 */
    @Excel(name = "体积-配货单位包装")
    @ApiModelProperty("体积-配货单位包装")
    private BigDecimal deliveryVolume;

    /** 毛重-配货单位包装 */
    @Excel(name = "毛重-配货单位包装")
    @ApiModelProperty("毛重-配货单位包装")
    private BigDecimal deliveryGrossWeight;

    /** 长-最小规格单位包装 */
    @Excel(name = "长-最小规格单位包装")
    @ApiModelProperty("长-最小规格单位包装")
    private BigDecimal specLength;

    /** 宽-最小规格单位包装 */
    @Excel(name = "宽-最小规格单位包装")
    @ApiModelProperty("宽-最小规格单位包装")
    private BigDecimal specWidth;

    /** 高-最小规格单位包装 */
    @Excel(name = "高-最小规格单位包装")
    @ApiModelProperty("高-最小规格单位包装")
    private BigDecimal specHeight;

    /** 体积-最小规格单位包装 */
    @Excel(name = "体积-最小规格单位包装")
    @ApiModelProperty("体积-最小规格单位包装")
    private BigDecimal specVolume;

    /** 体积-最小规格单位包装 */
    @Excel(name = "毛重-最小规格单位包装")
    @ApiModelProperty("毛重-最小规格单位包装")
    private BigDecimal specGrossWeight;

    /** 门店允收期 */
    @Excel(name = "门店允收期")
    @ApiModelProperty("门店允收期")
    private Integer storeAcceptancePeriod;

    /** 仓库允收期 */
    @Excel(name = "仓库允收期")
    @ApiModelProperty("仓库允收期")
    private Integer warehouseAcceptancePeriod;

    /** 保质期 */
    @Excel(name = "保质期")
    @ApiModelProperty("保质期")
    private Integer qualityGuaranteePeriod;

    /** 存储类型 */
    @Excel(name = "存储类型")
    @ApiModelProperty("存储类型")
    private String storageTypeblb;

    /** 规格类型 */
    @Excel(name = "规格类型")
    @ApiModelProperty("规格类型")
    private String specType;

    /** 财务属性 */
    @Excel(name = "财务属性")
    @ApiModelProperty("财务属性")
    private String financeAttribute;

    /** 货物属性 */
    @Excel(name = "货物属性")
    @ApiModelProperty("货物属性")
    private String goodsAttibute;

    /** 是否删除：1是 0否 */
    @ApiModelProperty("货物属性")
    private String delFlag;

    public void setPurchaseGrossWeight(BigDecimal purchaseGrossWeight) {
        this.purchaseGrossWeight = purchaseGrossWeight;
    }

    public String getBarCode() {
        return barCode;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setNo(String no)
    {
        this.no = no;
    }

    public String getNo()
    {
        return no;
    }
    public void setProductNo(String productNo)
    {
        this.productNo = productNo;
    }

    public String getProductNo()
    {
        return productNo;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setProductType(String productType)
    {
        this.productType = productType;
    }

    public String getProductType()
    {
        return productType;
    }
    public void setLargeCategoryName(String largeCategoryName)
    {
        this.largeCategoryName = largeCategoryName;
    }

    public String getLargeCategoryName()
    {
        return largeCategoryName;
    }
    public void setMidCategoryName(String midCategoryName)
    {
        this.midCategoryName = midCategoryName;
    }

    public String getMidCategoryName()
    {
        return midCategoryName;
    }
    public void setSmallCategoryName(String smallCategoryName)
    {
        this.smallCategoryName = smallCategoryName;
    }

    public String getSmallCategoryName()
    {
        return smallCategoryName;
    }
    public void setBrandName(String brandName)
    {
        this.brandName = brandName;
    }

    public String getBrandName()
    {
        return brandName;
    }
    public void setYlUnitName(String ylUnitName)
    {
        this.ylUnitName = ylUnitName;
    }

    public String getYlUnitName()
    {
        return ylUnitName;
    }
    public void setPsUnitName(String psUnitName)
    {
        this.psUnitName = psUnitName;
    }

    public String getPsUnitName()
    {
        return psUnitName;
    }
    public void setYlPsConver(String psYlConver)
    {
        this.ylPsConver = psYlConver;
    }

    public String getYlPsConver()
    {
        return ylPsConver;
    }
    public void setCgUnitName(String cgUnitName)
    {
        this.cgUnitName = cgUnitName;
    }

    public String getCgUnitName()
    {
        return cgUnitName;
    }
    public void setCgPsConver(String cgPsConver)
    {
        this.cgPsConver = cgPsConver;
    }

    public String getCgPsConver()
    {
        return cgPsConver;
    }
    public void setSpecUnitName(String specUnitName)
    {
        this.specUnitName = specUnitName;
    }

    public String getSpecUnitName()
    {
        return specUnitName;
    }
    public void setSpcYlConver(String spcYlConver)
    {
        this.spcYlConver = spcYlConver;
    }

    public String getSpcYlConver()
    {
        return spcYlConver;
    }
    public void setPurchaseLength(BigDecimal purchaseLength)
    {
        this.purchaseLength = purchaseLength;
    }

    public BigDecimal getPurchaseLength()
    {
        return purchaseLength;
    }
    public void setPurchaseWidth(BigDecimal purchaseWidth)
    {
        this.purchaseWidth = purchaseWidth;
    }

    public BigDecimal getPurchaseWidth()
    {
        return purchaseWidth;
    }
    public void setPurchaseHeight(BigDecimal purchaseHeight)
    {
        this.purchaseHeight = purchaseHeight;
    }

    public BigDecimal getPurchaseHeight()
    {
        return purchaseHeight;
    }
    public void setPurchaseVolume(BigDecimal purchaseVolume)
    {
        this.purchaseVolume = purchaseVolume;
    }

    public BigDecimal getPurchaseVolume()
    {
        return purchaseVolume;
    }
    public void setPurchaseCrossWeight(BigDecimal purchaseGrossWeight)
    {
        this.purchaseGrossWeight = purchaseGrossWeight;
    }

    public BigDecimal getPurchaseGrossWeight()
    {
        return purchaseGrossWeight;
    }
    public void setDeliveryWidth(BigDecimal deliveryWidth)
    {
        this.deliveryWidth = deliveryWidth;
    }

    public BigDecimal getDeliveryWidth()
    {
        return deliveryWidth;
    }
    public void setDeliveryLength(BigDecimal deliveryLength)
    {
        this.deliveryLength = deliveryLength;
    }

    public BigDecimal getDeliveryLength()
    {
        return deliveryLength;
    }
    public void setDeliveryHeight(BigDecimal deliveryHeight)
    {
        this.deliveryHeight = deliveryHeight;
    }

    public BigDecimal getDeliveryHeight()
    {
        return deliveryHeight;
    }
    public void setDeliveryVolume(BigDecimal deliveryVolume)
    {
        this.deliveryVolume = deliveryVolume;
    }

    public BigDecimal getDeliveryVolume()
    {
        return deliveryVolume;
    }
    public void setDeliveryGrossWeight(BigDecimal deliveryGrossWeight)
    {
        this.deliveryGrossWeight = deliveryGrossWeight;
    }

    public BigDecimal getDeliveryGrossWeight()
    {
        return deliveryGrossWeight;
    }
    public void setSpecLength(BigDecimal specLength)
    {
        this.specLength = specLength;
    }

    public BigDecimal getSpecLength()
    {
        return specLength;
    }
    public void setSpecWidth(BigDecimal specWidth)
    {
        this.specWidth = specWidth;
    }

    public BigDecimal getSpecWidth()
    {
        return specWidth;
    }
    public void setSpecHeight(BigDecimal specHeight)
    {
        this.specHeight = specHeight;
    }

    public BigDecimal getSpecHeight()
    {
        return specHeight;
    }
    public void setSpecVolume(BigDecimal specVolume)
    {
        this.specVolume = specVolume;
    }

    public BigDecimal getSpecVolume()
    {
        return specVolume;
    }

    public void setSpecGrossWeight(BigDecimal specGrossWeight) {
        this.specGrossWeight = specGrossWeight;
    }
    public BigDecimal getSpecGrossWeight() {
        return specGrossWeight;
    }

    public void setStoreAcceptancePeriod(Integer storeAcceptancePeriod)
    {
        this.storeAcceptancePeriod = storeAcceptancePeriod;
    }

    public Integer getStoreAcceptancePeriod()
    {
        return storeAcceptancePeriod;
    }
    public void setWarehouseAcceptancePeriod(Integer warehouseAcceptancePeriod)
    {
        this.warehouseAcceptancePeriod = warehouseAcceptancePeriod;
    }

    public Integer getWarehouseAcceptancePeriod()
    {
        return warehouseAcceptancePeriod;
    }
    public void setQualityGuaranteePeriod(Integer qualityGuaranteePeriod)
    {
        this.qualityGuaranteePeriod = qualityGuaranteePeriod;
    }

    public Integer getQualityGuaranteePeriod()
    {
        return qualityGuaranteePeriod;
    }
    public void setStorageTypeblb(String storageTypeblb)
    {
        this.storageTypeblb = storageTypeblb;
    }

    public String getStorageTypeblb()
    {
        return storageTypeblb;
    }
    public void setSpecType(String specType)
    {
        this.specType = specType;
    }

    public String getSpecType()
    {
        return specType;
    }
    public void setFinanceAttribute(String financeAttribute)
    {
        this.financeAttribute = financeAttribute;
    }

    public String getFinanceAttribute()
    {
        return financeAttribute;
    }
    public void setGoodsAttibute(String goodsAttibute)
    {
        this.goodsAttibute = goodsAttibute;
    }

    public String getGoodsAttibute()
    {
        return goodsAttibute;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("no", getNo())
            .append("productNo", getProductNo())
            .append("productName", getProductName())
            .append("productType", getProductType())
            .append("largeCategoryName", getLargeCategoryName())
            .append("midCategoryName", getMidCategoryName())
            .append("smallCategoryName", getSmallCategoryName())
            .append("brandName", getBrandName())
            .append("ylUnitName", getYlUnitName())
            .append("psUnitName", getPsUnitName())
            .append("psYlConver", getYlPsConver())
            .append("cgUnitName", getCgUnitName())
            .append("cgPsConver", getCgPsConver())
            .append("specUnitName", getSpecUnitName())
            .append("spcYlConver", getSpcYlConver())
            .append("purchaseLength", getPurchaseLength())
            .append("purchaseWidth", getPurchaseWidth())
            .append("purchaseHeight", getPurchaseHeight())
            .append("purchaseVolume", getPurchaseVolume())
            .append("purchaseGrossWeight", getPurchaseGrossWeight())
            .append("deliveryWidth", getDeliveryWidth())
            .append("deliveryLength", getDeliveryLength())
            .append("deliveryHeight", getDeliveryHeight())
            .append("deliveryVolume", getDeliveryVolume())
            .append("deliveryGrossWeight", getDeliveryGrossWeight())
            .append("specLength", getSpecLength())
            .append("specWidth", getSpecWidth())
            .append("specHeight", getSpecHeight())
            .append("specVolume", getSpecVolume())
            .append("storeAcceptancePeriod", getStoreAcceptancePeriod())
            .append("warehouseAcceptancePeriod", getWarehouseAcceptancePeriod())
            .append("qualityGuaranteePeriod", getQualityGuaranteePeriod())
            .append("storageTypeblb", getStorageTypeblb())
            .append("specType", getSpecType())
            .append("financeAttribute", getFinanceAttribute())
            .append("goodsAttibute", getGoodsAttibute())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("createTime", getCreateTime())
            .toString();
    }


}
